﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;

namespace SH.LMS.Common.UI.Cookie
{
    public class CurrentUser
    {
        /// <summary>
        /// 현재 사용자의 키와 같은지 조사
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static bool IsMine(string key)
        {
            if (!IsLogin || string.IsNullOrEmpty(key))
                return false;

            if (key.CompareTo(UserID) == 0)
                return true;
            else
                return false;
        }

        /// <summary>
        /// 로그인 여부
        /// </summary>
        public static bool IsLogin
        {
            get
            {
                return HttpContext.Current.User.Identity.IsAuthenticated;
            }
        }

        /// <summary>
        /// 사용자 아이디
        /// </summary>
        public static string UserID
        {
            get
            {
                if (IsLogin)
                    return HttpContext.Current.User.Identity.Name;
                else
                    return string.Empty;
            }
        }

        /// <summary>
        /// 사용자 이메일
        /// </summary>
        public static string UserEmail
        {
            get
            {
                return CookieManager.GetSecureCookieValue(UserInfo.Cookies.Email);
            }

        }

        /// <summary>
        /// 사용자 이름
        /// </summary>
        public static string UserName
        {
            get
            {
                //암호화된 쿠키 가져오기
                return CookieManager.GetSecureCookieValue(UserInfo.Cookies.UserName);
            }

        }

        /// <summary>
        /// 사용자 전화번호
        /// </summary>
        public static string TelNo
        {
            get
            {
                //암호화된 쿠키 가져오기
                return CookieManager.GetSecureCookieValue(UserInfo.Cookies.TelNo);
            }

        }

        /// <summary>
        /// 사용자 로컬 IP
        /// </summary>
        public static string UserLocalIP
        {
            get { return HttpContext.Current.Request.UserHostAddress; }
        }
    }
}
